package com.hanrui.android.library.net;


import com.hanrui.android.library.base.BaseBean;
import com.hanrui.android.model.AddressListBean;
import com.hanrui.android.model.AlreadyMeetingListBean;
import com.hanrui.android.model.AlreadyVoteListBean;
import com.hanrui.android.model.ApproveListBean;
import com.hanrui.android.model.ArchivesCheckBean;
import com.hanrui.android.model.ArchivesCheckDetailBean;
import com.hanrui.android.model.AskForLeaveDetailBean;
import com.hanrui.android.model.BillDetailBean;
import com.hanrui.android.model.BillHelpBean;
import com.hanrui.android.model.BossListBean;
import com.hanrui.android.model.BusinessTravelDetailBean;
import com.hanrui.android.model.CarDetailBean;
import com.hanrui.android.model.ChapterDetailBean;
import com.hanrui.android.model.CompanyListBean;
import com.hanrui.android.model.ContractDetailBean;
import com.hanrui.android.model.CountBean;
import com.hanrui.android.model.DispatchDocDetailBean;
import com.hanrui.android.model.EmpQuitDetailBean;
import com.hanrui.android.model.GetNextActvityBean;
import com.hanrui.android.model.GuaranteeContractDetailBean;
import com.hanrui.android.model.HistoricFlowBean;
import com.hanrui.android.model.ImpSubBean;
import com.hanrui.android.model.IssueDetailBean;
import com.hanrui.android.model.MeetingDetailBean;
import com.hanrui.android.model.MeetingIssueDetailBean;
import com.hanrui.android.model.MyPerformanceListBean;
import com.hanrui.android.model.MySuperviseMonthListBean;
import com.hanrui.android.model.MySuperviseWeekListBean;
import com.hanrui.android.model.MyVoteDetailBean;
import com.hanrui.android.model.MyVoteProposalBean;
import com.hanrui.android.model.MyVoteRecordBean;
import com.hanrui.android.model.NotYetVoteListBean;
import com.hanrui.android.model.NoticeDetailBean;
import com.hanrui.android.model.NoticeListBean;
import com.hanrui.android.model.OfficeGoodDetailBean;
import com.hanrui.android.model.OverSeeMonthDetailBean;
import com.hanrui.android.model.OverSeeThreeDetailBean;
import com.hanrui.android.model.PerformanceBizDetailBean;
import com.hanrui.android.model.PerformanceDetailBean;
import com.hanrui.android.model.ProBusInfoDetailBean;
import com.hanrui.android.model.ProEleBidInfoDetailBean;
import com.hanrui.android.model.ProEleWeeklyMainDetailBean;
import com.hanrui.android.model.ProposalDetailBean;
import com.hanrui.android.model.ProposalVoteDetailBean;
import com.hanrui.android.model.ReceiptDocDetailBean;
import com.hanrui.android.model.ReceiptDocListBean;
import com.hanrui.android.model.SealBorrowDetailBean;
import com.hanrui.android.model.SubEntryBean;
import com.hanrui.android.model.SuperviseMonthDetailBean;
import com.hanrui.android.model.SuperviseMonthListBean;
import com.hanrui.android.model.SuperviseWeekDetailBean;
import com.hanrui.android.model.SuperviseWeekListBean;
import com.hanrui.android.model.TaskBackForm;
import com.hanrui.android.model.ThreeAreaListBean;
import com.hanrui.android.model.ThreeFirmListBean;
import com.hanrui.android.model.ThreeSuperviseDetailBean;
import com.hanrui.android.model.User;
import com.hanrui.android.model.VersionBean;
import com.hanrui.android.model.VoteDetailBean;
import com.hanrui.android.model.WaitMeetingListBean;
import com.hanrui.android.model.WorkOverTimeDetailBean;
import com.hanrui.android.model.YearPerformanceDetailBean;
import com.hanrui.android.model.YearPlanDetailBean;

import io.reactivex.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

/**
 * Created by Administrator on 2018/3/9.
 */

public interface ApiService {

    //登录
    @POST("login")
    @FormUrlEncoded
    Observable<BaseBean<User>> login(@Field("username") String username, @Field("password") String password);


    //流程退回
    @POST("taskBackForm")
    @FormUrlEncoded
    Observable<BaseBean<TaskBackForm>> taskBackForm(@Field("procInsId") String procInsId);


    // 退回流程到某个节点 taskBack
    @POST("taskBack")
    @FormUrlEncoded
    Observable<BaseBean> taskBack(@Field("taskId") String taskId,
                                      @Field("comment") String comment,
                                      @Field("assigneeId") String assigneeId,
                                      @Field("activityId") String activityId,
                                      @Field("procInsId") String procInsId
    );


    @POST("act/getHistoicFlowList")
    @FormUrlEncoded
    Observable<BaseBean<HistoricFlowBean>> sealusehistoicFlow(@Field("procInsId") String procInsId, @Field("bizId")String bizId);

    //通讯录-部门列表
    @POST("empEmployeeList")
    @FormUrlEncoded
    Observable<BaseBean<CompanyListBean>> empEmployeeList(@Field("name") String name, @Field("type") String type);

    //通讯录-员工列表
    @POST("companyList")
    @FormUrlEncoded
    Observable<BaseBean<AddressListBean>> companyList(@Field("companyId") String companyId, @Field("name") String name);

    //员工档案列表
    @POST("employeeList")
    @FormUrlEncoded
    Observable<BaseBean<ArchivesCheckBean>> employeeList(@Field("name") String name);

    //员工档案列表
    @POST("employeeDetail")
    @FormUrlEncoded
    Observable<BaseBean<ArchivesCheckDetailBean>> employeeDetail(@Field("id") String id);

    //消息数量
    @POST("getCountsInfo")
    Observable<BaseBean<CountBean>> getCountsInfo();

    //代办列表
    @POST("list")
    Observable<BaseBean<ApproveListBean>> list();

    //通知列表
    @POST("noticeList")
    @FormUrlEncoded
    Observable<BaseBean<NoticeListBean>> noticeList(@Field("page") String page);

    //督办列表
    @POST("overSeeList")
    @FormUrlEncoded
    Observable<BaseBean<MySuperviseWeekListBean>> overSeeList1(@Field("type") String type, @Field("name") String name);

    //督办列表
    @POST("overSeeList")
    @FormUrlEncoded
    Observable<BaseBean<MySuperviseMonthListBean>> overSeeList2(@Field("type") String type, @Field("name") String name);

    //周督办列表
    @POST("overSeeWeekList")
    @FormUrlEncoded
    Observable<BaseBean<SuperviseWeekListBean>> overSeeWeekList(@Field("id") String id, @Field("name") String name);

    //月督办列表
    @POST("overSeeMonthList")
    @FormUrlEncoded
    Observable<BaseBean<SuperviseMonthListBean>> overSeeMonthList(@Field("mid") String mid, @Field("name") String name);

    //周督办列表详情
    @POST("overSeeDetail")
    @FormUrlEncoded
    Observable<BaseBean<SuperviseWeekDetailBean>> overSeeWeekDetail(@Field("mid") String mid, @Field("type") String type);

    //月督办列表详情
    @POST("overSeeDetail")
    @FormUrlEncoded
    Observable<BaseBean<SuperviseMonthDetailBean>> overSeeMonthDetail(@Field("mid") String mid, @Field("type") String type);

    //月督办列表详情
    @POST("detail")
    @FormUrlEncoded
    Observable<BaseBean<NoticeDetailBean>> detail(@Field("nId") String nId);

    //公司交办事项列表
    @POST("overSeeThreeList")
    @FormUrlEncoded
    Observable<BaseBean<ThreeFirmListBean>> overSeeThreeFirmList(@Field("sourceStatus") String sourceStatus, @Field("name") String name);

    //公司交办事项列表
    @POST("overSeeThreeList")
    @FormUrlEncoded
    Observable<BaseBean<ThreeAreaListBean>> overSeeThreeAreaList(@Field("sourceStatus") String sourceStatus, @Field("name") String name);

    //公司交办事项列表
    @POST("overSeeThreeDetail")
    @FormUrlEncoded
    Observable<BaseBean<ThreeSuperviseDetailBean>> overSeeThreeDetail(@Field("id") String id);

    //绩效管理里列表
    @POST("performanceManagementList")
    @FormUrlEncoded
    Observable<BaseBean<MyPerformanceListBean>> performanceManagementList(@Field("name") String name);

    //绩效管理详情
    @POST("performanceManagementDetail")
    @FormUrlEncoded
    Observable<BaseBean<PerformanceDetailBean>> performanceManagementDetail(@Field("id") String id);

    //年度计划详情
    @POST("yearPlanDetail")
    @FormUrlEncoded
    Observable<BaseBean<YearPerformanceDetailBean>> yearPlanDetail(@Field("id") String id);

    //用章基本信息
    @POST("chapterABizDetail")
    @FormUrlEncoded
    Observable<BaseBean<ChapterDetailBean>> chapterABizDetail(@Field("taskId") String taskId,
                                                              @Field("procInsId") String procInsId,
                                                              @Field("bizId") String bizId);
    //用章审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> chpaterNextActivity(@Field("taskId") String taskId,
                                                                 @Field("procInsId") String procInsId,
                                                                 @Field("bizId") String bizId);

    //用章审批提交
    @POST("chapterBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> chapterBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                                 @Field("taskId") String taskId,
                                                                 @Field("procInsId") String procInsId,
                                                                 @Field("bizId") String bizId,
                                                                 @Field("transitionId") String transitionId,
                                                                 @Field("comment") String comment);

    //担保合同基本信息
    @POST("guaranteeContractBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<GuaranteeContractDetailBean>> guaranteeContractBizDetail(@Field("taskId") String taskId,
                                                                                 @Field("procInsId") String procInsId,
                                                                                 @Field("bizId") String bizId);

    //担保合同审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> contractNextActivity(@Field("taskId") String taskId,
                                                                 @Field("procInsId") String procInsId,
                                                                 @Field("bizId") String bizId);

    //担保合同审批提交
    @POST("guaranteeContractBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> guaranteeContractBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                            @Field("taskId") String taskId,
                                            @Field("procInsId") String procInsId,
                                            @Field("bizId") String bizId,
                                            @Field("transitionId") String transitionId,
                                            @Field("comment") String comment);


    //借章基本信息
    @POST("sealBorrowBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<SealBorrowDetailBean>> sealBorrowBizDetail(@Field("taskId") String taskId,
                                                                   @Field("procInsId") String procInsId,
                                                                   @Field("bizId") String bizId);

    //借章审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> sealBorrowNextActivity(@Field("taskId") String taskId,
                                                                  @Field("procInsId") String procInsId,
                                                                  @Field("bizId") String bizId);

    //借章审批提交
    @POST("sealBorrowBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> sealBorrowBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                      @Field("taskId") String taskId,
                                                      @Field("procInsId") String procInsId,
                                                      @Field("bizId") String bizId,
                                                      @Field("transitionId") String transitionId,
                                                      @Field("comment") String comment);

    //用车基本信息
    @POST("carBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<CarDetailBean>> carBizDetail(@Field("taskId") String taskId,
                                                            @Field("procInsId") String procInsId,
                                                            @Field("bizId") String bizId);

    //用车审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> carNextActivity(@Field("taskId") String taskId,
                                                                    @Field("procInsId") String procInsId,
                                                                    @Field("bizId") String bizId);

    //用车审批提交
    @POST("carBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> carBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                               @Field("taskId") String taskId,
                                               @Field("procInsId") String procInsId,
                                               @Field("bizId") String bizId,
                                               @Field("transitionId") String transitionId,
                                               @Field("comment") String comment);

    //出差基本信息
    @POST("businessTravelBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<BusinessTravelDetailBean>> businessTravelBizDetail(@Field("taskId") String taskId,
                                                                           @Field("procInsId") String procInsId,
                                                                           @Field("bizId") String bizId);

    //出差审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> businessTravelNextActivity(@Field("taskId") String taskId,
                                                             @Field("procInsId") String procInsId,
                                                             @Field("bizId") String bizId);

    //出差审批提交
    @POST("businessTravelBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> businessTravelBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                        @Field("taskId") String taskId,
                                        @Field("procInsId") String procInsId,
                                        @Field("bizId") String bizId,
                                        @Field("transitionId") String transitionId,
                                        @Field("comment") String comment);

    //加班基本信息
    @POST("workOverTimeBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<WorkOverTimeDetailBean>> workOverTimeBizDetail(@Field("taskId") String taskId,
                                                                       @Field("procInsId") String procInsId,
                                                                       @Field("bizId") String bizId);

    //加班审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> workOverTimeNextActivity(@Field("taskId") String taskId,
                                                                        @Field("procInsId") String procInsId,
                                                                        @Field("bizId") String bizId);

    //加班审批提交
    @POST("workOverTimeBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> workOverTimeBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                   @Field("taskId") String taskId,
                                                   @Field("procInsId") String procInsId,
                                                   @Field("bizId") String bizId,
                                                   @Field("transitionId") String transitionId,
                                                   @Field("comment") String comment);

    //办公用品基本信息
    @POST("officeGoodBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<OfficeGoodDetailBean>> officeGoodBizDetail(@Field("taskId") String taskId,
                                                                   @Field("procInsId") String procInsId,
                                                                   @Field("bizId") String bizId);

    //办公用品审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> officeGoodNextActivity(@Field("taskId") String taskId,
                                                                      @Field("procInsId") String procInsId,
                                                                      @Field("bizId") String bizId);

    //办公用品审批提交
    @POST("officeGoodBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> officeGoodBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                 @Field("taskId") String taskId,
                                                 @Field("procInsId") String procInsId,
                                                 @Field("bizId") String bizId,
                                                 @Field("transitionId") String transitionId,
                                                 @Field("comment") String comment);

    //请假基本信息
    @POST("askForLeaveBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<AskForLeaveDetailBean>> askForLeaveBizDetail(@Field("taskId") String taskId,
                                                                     @Field("procInsId") String procInsId,
                                                                     @Field("bizId") String bizId);

    //请假审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> askForLeaveNextActivity(@Field("taskId") String taskId,
                                                                    @Field("procInsId") String procInsId,
                                                                    @Field("bizId") String bizId);

    //请假审批提交
    @POST("askForLeaveBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> askForLeaveBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                               @Field("taskId") String taskId,
                                               @Field("procInsId") String procInsId,
                                               @Field("bizId") String bizId,
                                               @Field("transitionId") String transitionId,
                                               @Field("comment") String comment);

    //董事会议案基本信息
    @POST("proposalBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<ProposalDetailBean>> proposalBizDetail(@Field("taskId") String taskId,
                                                               @Field("procInsId") String procInsId,
                                                               @Field("bizId") String bizId);

    //董事会议案审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> proposalNextActivity(@Field("taskId") String taskId,
                                                                     @Field("procInsId") String procInsId,
                                                                     @Field("bizId") String bizId);

    //董事会议案审批提交
    @POST("proposalBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> proposalBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                @Field("taskId") String taskId,
                                                @Field("procInsId") String procInsId,
                                                @Field("bizId") String bizId,
                                                @Field("transitionId") String transitionId,
                                                @Field("comment") String comment);

    //董事会表决基本信息
    @POST("ProposalVoteBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<ProposalVoteDetailBean>> proposalVoteBizDetail(@Field("taskId") String taskId,
                                                                       @Field("procInsId") String procInsId,
                                                                       @Field("bizId") String bizId);

    //董事会表决审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> proposalVoteNextActivity(@Field("taskId") String taskId,
                                                                  @Field("procInsId") String procInsId,
                                                                  @Field("bizId") String bizId);

    //董事会表决审批提交
    @POST("ProposalVoteBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> proposalVoteBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                             @Field("taskId") String taskId,
                                             @Field("procInsId") String procInsId,
                                             @Field("bizId") String bizId,
                                             @Field("transitionId") String transitionId,
                                             @Field("comment") String comment,
                                                 @Field("meetingUser") String meetingUser,
                                                 @Field("actualAttendees") String actualAttendees,
                                                 @Field("proposalList") String proposalList);

    //参会董事列表
    @POST("getDirectorLeaderList")
    Observable<BaseBean<BossListBean>> getDirectorLeaderList();

    //已表决查看明细
    @POST("recordDetail")
    @FormUrlEncoded
    Observable<BaseBean<VoteDetailBean>> recordDetail(@Field("mid") String mid);

    //董事会表决列表
    @POST("proposalList")
    @FormUrlEncoded
    Observable<BaseBean<NotYetVoteListBean>> notYetList(@Field("type") String type);

    //董事会表决列表
    @POST("proposalList")
    @FormUrlEncoded
    Observable<BaseBean<AlreadyVoteListBean>> alreadyList(@Field("type") String type);

    //董事会表决详情
    @POST("proposalVoteDetail")
    @FormUrlEncoded
    Observable<BaseBean<MyVoteDetailBean>> proposalVoteDetail(@Field("mid") String mid,@Field("type") String type);

    //董事会议案详情
    @POST("proposalDetail")
    @FormUrlEncoded
    Observable<BaseBean<MyVoteProposalBean>> proposalDetail(@Field("mid") String mid, @Field("type") String type);

    //已表决查看
    @POST("recordView")
    @FormUrlEncoded
    Observable<BaseBean<MyVoteRecordBean>> recordView(@Field("mid") String mid);

    //董事会表决保存
    @POST("saveProposalVote")
    @FormUrlEncoded
    Observable<BaseBean> saveProposalVote(@Field("rid") String rid,@Field("proposalList") String proposalList);

    //离职基本信息
    @POST("empQuitBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<EmpQuitDetailBean>> empQuitBizDetail(@Field("taskId") String taskId,
                                                                       @Field("procInsId") String procInsId,
                                                                       @Field("bizId") String bizId);

    //离职审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> empQuitNextActivity(@Field("taskId") String taskId,
                                                                      @Field("procInsId") String procInsId,
                                                                      @Field("bizId") String bizId);

    //离职审批提交
    @POST("empQuitBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> empQuitBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                 @Field("taskId") String taskId,
                                                 @Field("procInsId") String procInsId,
                                                 @Field("bizId") String bizId,
                                                 @Field("transitionId") String transitionId,
                                                 @Field("comment") String comment);

    //待开会议列表
    @POST("meetingList")
    @FormUrlEncoded
    Observable<BaseBean<WaitMeetingListBean>> waitMeetingList(@Field("type") String type, @Field("name") String name);

    //已开会议列表
    @POST("meetingList")
    @FormUrlEncoded
    Observable<BaseBean<AlreadyMeetingListBean>> alreadyMeetingList(@Field("type") String type, @Field("name") String name);

    //已开会议列表
    @POST("meetingBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<MeetingDetailBean>> meetingBizDetail(@Field("mid") String mid);


    //会议议题基本信息
    @POST("meetingIssueBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<MeetingIssueDetailBean>> meetingIssueBizDetail(@Field("taskId") String taskId,
                                                                       @Field("procInsId") String procInsId,
                                                                       @Field("bizId") String bizId);

    //会议议题审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> meetingIssueActivity(@Field("taskId") String taskId,
                                                                 @Field("procInsId") String procInsId,
                                                                 @Field("bizId") String bizId);

    //会议议题审批提交
    @POST("meetingIssueBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> meetingIssueBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                            @Field("taskId") String taskId,
                                            @Field("procInsId") String procInsId,
                                            @Field("bizId") String bizId,
                                            @Field("transitionId") String transitionId,
                                            @Field("comment") String comment);


    //资金会、风审会基本信息
    @POST("issueBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<IssueDetailBean>> issueBizDetail(@Field("taskId") String taskId,
                                                         @Field("procInsId") String procInsId,
                                                         @Field("bizId") String bizId);

    //资金会、风审会审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> issueActivity(@Field("taskId") String taskId,
                                                                  @Field("procInsId") String procInsId,
                                                                  @Field("bizId") String bizId);

    //资金会、风审会审批提交
    @POST("issueBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> issueBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                 @Field("taskId") String taskId,
                                                 @Field("procInsId") String procInsId,
                                                 @Field("bizId") String bizId,
                                                 @Field("transitionId") String transitionId,
                                                 @Field("comment") String comment);

    //收文列表
    @POST("receiptDocList")
    Observable<BaseBean<ReceiptDocListBean>> receiptDocList();


    //收文基本信息
    @POST("receiptDocBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<ReceiptDocDetailBean>> receiptDocBizDetail(@Field("taskId") String taskId,
                                                                   @Field("procInsId") String procInsId,
                                                                   @Field("bizId") String bizId);

    //收文审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> receiptDocActivity(@Field("taskId") String taskId,
                                                                  @Field("procInsId") String procInsId,
                                                                  @Field("bizId") String bizId);

    //收文审批提交
    @POST("receiptDocBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> receiptDocBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                 @Field("taskId") String taskId,
                                                 @Field("procInsId") String procInsId,
                                                 @Field("bizId") String bizId,
                                                 @Field("transitionId") String transitionId,
                                                 @Field("comment") String comment);

    //任务书基本信息
    @POST("proBusInfoBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<ProBusInfoDetailBean>> proBusInfoBizDetail(@Field("taskId") String taskId,
                                                                   @Field("procInsId") String procInsId,
                                                                   @Field("bizId") String bizId);

    //任务书审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> proBusInfoActivity(@Field("taskId") String taskId,
                                                                @Field("procInsId") String procInsId,
                                                                @Field("bizId") String bizId);

    //任务书审批提交
    @POST("proBusInfoBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> proBusInfoBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                               @Field("taskId") String taskId,
                                               @Field("procInsId") String procInsId,
                                               @Field("bizId") String bizId,
                                               @Field("transitionId") String transitionId,
                                               @Field("comment") String comment,
                                               @Field("subEntry") String subEntry,
                                               @Field("impSub") String impSub);

    //立项主体
    @POST("getSubEntry")
    Observable<BaseBean<SubEntryBean>> getSubEntry();

    //实施主体
    @POST("getImpSub")
    Observable<BaseBean<ImpSubBean>> getImpSub();

    //编标招标基本信息
    @POST("proEleBidInfoBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<ProEleBidInfoDetailBean>> proEleBidInfoBizDetail(@Field("taskId") String taskId,
                                                                      @Field("procInsId") String procInsId,
                                                                      @Field("bizId") String bizId);

    //编标招标审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> proEleBidInfoActivity(@Field("taskId") String taskId,
                                                                @Field("procInsId") String procInsId,
                                                                @Field("bizId") String bizId);

    //编标招标审批提交
    @POST("proEleBidInfoBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> proEleBidInfoBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                               @Field("taskId") String taskId,
                                               @Field("procInsId") String procInsId,
                                               @Field("bizId") String bizId,
                                               @Field("transitionId") String transitionId,
                                               @Field("comment") String comment);

    //合同基本信息
    @POST("proEleContractBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<ContractDetailBean>> proEleContractBizDetail(@Field("taskId") String taskId,
                                                                     @Field("procInsId") String procInsId,
                                                                     @Field("bizId") String bizId);

    //合同审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> proEleContractActivity(@Field("taskId") String taskId,
                                                                   @Field("procInsId") String procInsId,
                                                                   @Field("bizId") String bizId);

    //合同审批提交
    @POST("proEleContractBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> proEleContractBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                  @Field("taskId") String taskId,
                                                  @Field("procInsId") String procInsId,
                                                  @Field("bizId") String bizId,
                                                  @Field("transitionId") String transitionId,
                                                  @Field("comment") String comment);

    //周报基本信息
    @POST("proEleWeeklyMainBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<ProEleWeeklyMainDetailBean>> proEleWeeklyMainBizDetail(@Field("taskId") String taskId,
                                                                               @Field("procInsId") String procInsId,
                                                                               @Field("bizId") String bizId);

    //周报审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> proEleWeeklyMaintActivity(@Field("taskId") String taskId,
                                                                    @Field("procInsId") String procInsId,
                                                                    @Field("bizId") String bizId);

    //周报审批提交
    @POST("proEleWeeklyMainBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> proEleWeeklyMainBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                   @Field("taskId") String taskId,
                                                   @Field("procInsId") String procInsId,
                                                   @Field("bizId") String bizId,
                                                   @Field("transitionId") String transitionId,
                                                   @Field("comment") String comment);

    //三色督办基本信息
    @POST("overSeeThreeBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<OverSeeThreeDetailBean>> overSeeThreeBizDetail(@Field("taskId") String taskId,
                                                                       @Field("procInsId") String procInsId,
                                                                       @Field("bizId") String bizId);

    //三色督办审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> overSeeThreeActivity(@Field("taskId") String taskId,
                                                                       @Field("procInsId") String procInsId,
                                                                       @Field("bizId") String bizId);

    //三色督办审批提交
    @POST("overSeeThreeBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> overSeeThreeBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                     @Field("taskId") String taskId,
                                                     @Field("procInsId") String procInsId,
                                                     @Field("bizId") String bizId,
                                                     @Field("transitionId") String transitionId,
                                                     @Field("comment") String comment);

    //绩效审核基本信息
    @POST("performanceBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<PerformanceBizDetailBean>> performanceBizDetail(@Field("taskId") String taskId,
                                                                        @Field("procInsId") String procInsId,
                                                                        @Field("bizId") String bizId);

    //绩效审核审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> performanceActivity(@Field("taskId") String taskId,
                                                                  @Field("procInsId") String procInsId,
                                                                  @Field("bizId") String bizId);

    //绩效审核审批提交
    @POST("performanceBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> performanceBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                 @Field("taskId") String taskId,
                                                 @Field("procInsId") String procInsId,
                                                 @Field("bizId") String bizId,
                                                 @Field("transitionId") String transitionId,
                                                 @Field("comment") String comment,
                                                @Field("performanceList") String performanceList);

    //年度绩效审核基本信息
    @POST("yearPlanBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<YearPlanDetailBean>> yearPlanBizDetail(@Field("taskId") String taskId,
                                                               @Field("procInsId") String procInsId,
                                                               @Field("bizId") String bizId);

    //年度绩效审核审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> yearPlanActivity(@Field("taskId") String taskId,
                                                                 @Field("procInsId") String procInsId,
                                                                 @Field("bizId") String bizId);

    //年度绩效审核审批提交
    @POST("yearPlanBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> yearPlanBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                @Field("taskId") String taskId,
                                                @Field("procInsId") String procInsId,
                                                @Field("bizId") String bizId,
                                                @Field("transitionId") String transitionId,
                                                @Field("comment") String comment);

    //发文基本信息
    @POST("dispatchDocBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<DispatchDocDetailBean>> dispatchDocBizDetail(@Field("taskId") String taskId,
                                                                     @Field("procInsId") String procInsId,
                                                                     @Field("bizId") String bizId);

    //发文审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> dispatchDocActivity(@Field("taskId") String taskId,
                                                              @Field("procInsId") String procInsId,
                                                              @Field("bizId") String bizId);

    //发文审批提交
    @POST("dispatchDocBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> dispatchDocBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                             @Field("taskId") String taskId,
                                             @Field("procInsId") String procInsId,
                                             @Field("bizId") String bizId,
                                             @Field("transitionId") String transitionId,
                                             @Field("comment") String comment);

    //月督办基本信息
    @POST("overSeeMonthBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<OverSeeMonthDetailBean>> overSeeMonthBizDetail(@Field("taskId") String taskId,
                                                                       @Field("procInsId") String procInsId,
                                                                       @Field("bizId") String bizId);

    //月督办审批
    @POST("getNextActivity")
    @FormUrlEncoded
    Observable<BaseBean<GetNextActvityBean>> overSeeMonthActivity(@Field("taskId") String taskId,
                                                                 @Field("procInsId") String procInsId,
                                                                 @Field("bizId") String bizId);

    //月督办审批提交
    @POST("overSeeMonthBizApproval")
    @FormUrlEncoded
    Observable<BaseBean> overSeeMonthBizApproval(@Field("nextAssigneeList") String nextAssigneeList,
                                                @Field("taskId") String taskId,
                                                @Field("procInsId") String procInsId,
                                                @Field("bizId") String bizId,
                                                @Field("transitionId") String transitionId,
                                                @Field("comment") String comment);

    //发票助手列表
    @POST("invoiceList")
    Observable<BaseBean<BillHelpBean>> invoiceList();

    //编辑发票
    @POST("invoiceSave")
    @FormUrlEncoded
    Observable<BaseBean> invoiceSave(@Field("id") String id,
                                     @Field("companyName") String companyName,
                                     @Field("dutyNo") String dutyNo,
                                     @Field("officeName") String officeName,
                                     @Field("phone") String phone,
                                     @Field("bankName") String bankName,
                                     @Field("bankAccount") String bankAccount);

    //发票详情
    @POST("invoiceBizDetail")
    @FormUrlEncoded
    Observable<BaseBean<BillDetailBean>> invoiceBizDetail(@Field("bizId") String bizId);

    //发票删除
    @POST("invoiceDelete")
    @FormUrlEncoded
    Observable<BaseBean> invoiceDelete(@Field("id") String id);


    //扫码登录
    @POST("loginRegist")
    @FormUrlEncoded
    Observable<BaseBean> loginRegist(@Field("uuid") String uuid);


    //版本号
    @POST("getVersion")
    Observable<BaseBean<VersionBean>> getVerion();


}
